Databases are computerized information storage and retrieval systems. A relational database management system is a computer database management system (DBMS) that uses relational techniques for storing and retrieving data. An object-oriented programming database is a database that is congruent with the data defined in object classes and subclasses.
Regardless of the particular architecture, a requesting entity (e.g., an application or the operating system) in a DBMS requests access to a specified database by issuing a database access request. Such requests may include, for instance, simple catalog lookup requests or transactions and combinations of transactions that operate to read, change and add specified records in the database. These requests are often made using high-level query languages such as Structured Query Language (SQL). Upon receiving such a request, the DBMS may execute the request against a corresponding database, and return any result of the execution to the requesting entity. Illustratively, SQL is used to make interactive queries for getting information from and updating a database such as International Business Machines' (IBM) DB2 and Informix, Microsoft's SQL Server, and database products from Oracle, Sybase, and Computer Associates.
The term “query” denominates a set of commands for retrieving data from a stored database. Queries take the form of a command language that allows programmers and programs to select, insert, and/or update the data of the database. Queries may specify conditions that apply to one or more columns of the database and may specify logical operations to be performed that involve multiple columns. In processing such a query, the DBMS generally searches the database for records that satisfy the conditions specified by the query and returns those records as query results for the query. Queries may also specify a projection list that includes one or more data attributes, referred interchangeably as “columns”, to which the returned data result is restricted. A projection generally refers to an operation on a relational dataset such that the result of the projection results in a dataset wherein components (e.g., data record values) of the tuples (e.g., rows) are restricted to a set of attributes (e.g., columns). A projection list generally refers to the list of attribute names (e.g., column names) used in the projection.